BIN=proc.exe                     # 定义变量
CC=gcc
SRC=$(shell ls *.c)             # 采⽤shell命令⾏⽅式，获取当前所有.c⽂件名
SRC=$(wildcard *.c)              # 或者使⽤ wildcard 函数，获取当前所有.c⽂件名
OBJ=$(SRC:.c=.o)                 # 将SRC的所有同名.c 替换 成为.o 形成⽬标⽂件列表
LFLAGS=-o                        # 链接选项
FLAGS=-c                         # 编译选项
RM=rm -f                         # 引⼊命令

$(BIN):$(OBJ)
	@$(CC) $(LFLAGS) $@ $^

%.0:%.c
	@$(CC) $(FLAGS) $< -g

.PHONY:clean
clean:
	$(RM) $(OBJ) $(BIN)

#$(BIN):$(OBJ)                          # $ 符号用于引用变量
#	@$(CC) $(LFLAGS) $@ $^             # $@:表示当前目标文件。 $^: 代表所有依赖⽂件列表
#	@echo "linking ... $^ to $@"
#%.o:%.c                                # %.c 展开当前⽬录下所有的.c。 %.o: 同时展开同名.o
#	@$(CC) $(FLAGS) $<                 # $<: 对展开的依赖.c⽂件，⼀个⼀个的交给gcc。
#	@echo "compling ... $< to $@"      # @：不回显命令
#.PHONY:clean
#clean:
#	$(RM) $(OBJ) $(BIN)                # $(RM): 替换，⽤变量内容替换它
# 
#.PHONY:test
#test:
#	@echo $(SRC)
#	@echo $(OBJ)
